#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#define maxsize 100
using namespace std;
typedef struct{
	int data[maxsize];
	int front,rear;
}Queue;
typedef Queue * Squeue;
typedef int ElemType;
void InitQueue(Squeue &q);
void DestroyQueue(Squeue &q); 
bool QueueEmpty(Squeue q);
bool enQueue(Squeue &q,ElemType e);
bool deQueue(Squeue &q,ElemType &e);
int main()
{
	Squeue q; 
	int n,m;
	int i,num=0,flag=0;
	ElemType e;
	scanf("%d %d",&n,&m);
	if(m>=n) printf("error!\n");
	InitQueue(q);
	for(i=1;i<=n;i++)
	{
		enQueue(q,i);
	}
	while(!QueueEmpty(q))
	{
		num++;
		if(num!=m){
			deQueue(q,e);
			enQueue(q,e);
		}
		else{
			deQueue(q,e);
			if(flag==0) {
				cout<<e;
				flag=1;
			}
			else cout<<" "<<e;
			num=0;
		}
	}
	return 0;
}

void InitQueue(Squeue &q)
{
	q=new Queue;
	q->front=q->rear=-1;
}
void DestroyQueue(Squeue &q)
{
	free(q);
}
bool QueueEmpty(Squeue q)
{
	return(q->front==q->rear);
}
bool enQueue(Squeue &q,ElemType e)
{
	if(q->rear==maxsize-1)
	    return false;
	q->rear++;
	q->data[q->rear]=e;
	return true;
}
bool deQueue(Squeue &q,ElemType &e)
{
	if(q->front==q->rear)
	    return false;
	q->front++;
	e=q->data[q->front];
	return true;
}
